package com.zjff.mobiletwo.service;

import com.zjff.mobiletwo.vo.CartVO;

import java.util.List;

public interface IcartService {
    /**
     * 将商品添加到购物车
     * @param uid      当前登录用户的id
     * @param pid      商品的id
     * @param amount   增加的数量
     * @param username 当前登录的用户名
     * @return
     */
    String addToCart(Integer uid, Integer pid, Integer amount, String username);

    /**
     * 修改购物车中商品数量
     * @param cid 购物车商品id
     * @param amount 修改的数量
     * @param uid 当前登入的用户id
     * @param username 当前登入的用户名
     * @return
     */
    String updateNumByCid(Integer cid,Integer amount,Integer uid,String username);

    /**
     * 根据用户id和商品id删除购物车中的商品
     * @param pid 商品id
     * @param uid 用户id
     * @param username 用户名
     * @return
     */
    String deleteByUidAndPid(Integer pid,Integer uid,String username);
    /**
     * 根据用户id和商品id查询某用户的购物车数据
     * @param pid 商品id
     * @param uid 用户id
     * @param username 用户名
     * @return
     */
    String findByUidAndPid(Integer pid,Integer uid,String username);
     /**
     * 查询某用户的购物车数据
     * @param uid 用户id
     * @return 该用户的购物车数据的列表
     */
    String getVOByUid(Integer uid);
    /**
     * 将购物车中某商品的数量加1
     * @param cid 购物车数量的id
     * @param uid 当前登录的用户的id
     * @param username 当前登录的用户名
     * @return 增加成功后新的数量
     */
    String addNum(Integer cid,Integer amount,Integer uid,String username);
    /**
     * 根据若干个购物车数据id查询详情的列表
     *
     * @param uid  当前登录的用户的id
     * @param cids 若干个购物车数据id
     * @return 匹配的购物车数据详情的列表
     */
    String getVOByCids(Integer uid, Integer[] cids);
    List<CartVO> getVOByCid(Integer uid, Integer[] cids);
    String deleteByCids(Integer uid,Integer[] cids);
}
